Skip to main content

Frontend Objects

Motivation

Compress and reuse large expressions

Is intended to reduce the load to on the frontend by packing a large Wolfram Expressions like Graphics with all its data to a single line reference FrontEndExecutable or FrontEndRef, which can be interpreted later by the editor in the cell.

To display such expressions like

Plot[x, {x,0,1}]

inline in the editor or on a slide, they are converted to a pointer

FrontEndExecutable["746fa2e0-24f7-4003-a7cc-4c77f8b4891d"]

An actual expression now is shared between the frontend and the Kernel. Both can have an access to the original expression using FrontEndExecutable wrapper on frontend (see WLJS Functions) and FrontEndRef wrapper to access it from Wolfram Kernel.

Such objects are also saved to the notebook internally.

Defined StandardForm and WLX on FrontEndExecutable uses ViewBox to replace it with an empty widget. This widget later is populated by the content produced by the original expression, for example Graphics or Image.

Properties

  1. It does not alter the original expression.
  2. All active objects are synchronized between the notebook and a Kernel. Once you have saved a notebook they are serialized to a file as well.
  3. All active objects are exported to Static HTML or Dynamic HTML or Figures
  4. All objects are embedded automatically to Slides or WLX
  5. StandardForm for all FrontEndExecutable is ViewBox
  6. WLXForm for all FrontEndExecutable is a sort of view-box as well, but displayed on a slide / HTML output element